#pragma once

void Analyze(int SpectrumSize, int SampleCount, double *CosArray, double *SinArray, double *SpectrumRe, double *SpectrumIm, double *SpectrumAbs, double *SamplesRe, double *SamplesIm, int NumResults, int *ResultFrequencies, double *ResultAmplitudes, double *WindowRe, double *WindowIm);

void Ndft(double *PeakValue, int *PeakFreq, int SpectrumSize, int SampleCount, double *CosTable, double *SinTable, double *SpectrumRe, double *SpectrumIm, double *SpectrumAbs, double *SamplesRe, double *SamplesIm);

void Clean(int SpectrumSize, int *PeakFreq, double *PeakValue, double *SpectrumRe, double *SpectrumIm, double *SpectrumAbs, double *WindowRe, double *WindowIm, int SampleCount);

double GetResultFrequency(int SpectrumSize, double MaxDetectFrequency, int FrequencyIndex);

void FindMax(double *PeakAmplitude, int *PeakFrequency, double *SpectrumAbs, int SpectrumSize);



